/**
 * 1) 我们会想要为那些在编程阶段还不清楚类型的变量指定一个类型。这些值可能来自于动态的内容，比如来自用户输入或第三方代码库。
 *    这种情况下，我们不希望类型检查器对这些值进行检查而是直接让它们通过编译阶段的检查。
 * 
 * 2) 在对现有代码进行改写的时候，any类型是十分有用的，它允许你在编译时可选择地包含或移除类型检查。
 *    你可能认为 Object有相似的作用，就像它在其它语言中那样。
 *    但是 Object类型的变量只是允许你给它赋任意值 - 但是却不能够在它上面调用任意的方法
 */

function getUser (type: number): any {
  if (type === 1) {
    return 'xt'
  } else {
    return {
      name: 'xt'
    }
  }
}

console.log(getUser(1));
console.log(getUser(2));